function tuplity<T extends unknown[]>(...elements: T): T {
  return elements;
}
// function test() {
//   let name = '小月';
//   let age = 18;
//   // let data = <const>[name, age];
//   // return data;
//   return tuplity(name, age);
// }
// const items = test();
// let [f] = items;

function get<T extends object, K extends keyof T>(o: T, name: K): T[K] {
  return o[name];
}
// const data = {
//   a: 3,
//   hello: 'hello',
// };
// const result = get(data, 'hello');

// 可以推导出传入的参数是否是字符串
function hasStr(str: any): str is String {
  return str;
}

// 正常字符串判断
function hasStr1(str: any): boolean {
  return typeof str === 'string';
}

export { tuplity, get, hasStr };
